home *** CD-ROM | disk | FTP | other *** search
- Here is an improved winterp.README file, explaining some of the
- warnings, and lsiting some of the diffs from the original distribution
- which can be found on export.lcs.mit.edu:
- -------------
-
-
- WINTERP: An object-oriented rapid prototyping, development and delivery
- environment for building user-customizable applications with the OSF/Motif
- UI Toolkit.
-
- ------------------------------------------------------------------------------
-
- The archive winterp-1.13.NeXT.tar.Z contains sources, examples, documentation,
- and contributed code for the WINTERP OSF/Motif _W_idget _INTERP_reter
- version 1.13 (MIT X11r5 contrib release).
-
- to compile:
-
- (0) Running WINTERP requires that you are running an X server (e.g.
- Pencom/CoXist); Compiling WINTERP requires the OSF/Motif libraries and
- headers, preferably version 1.1.3 (Motif 1.0 and earlier/later 1.1 work
- too). It is assumed these are in the default locations /usr/include/Xm and
- /usr/lib/libXm.a as supplied in the CoXist product.
- (1) zcat winterp.NeXT.tar.Z | tar xvf -
- (1.5) rm -i winterp.NeXT.tar.Z
- (2) cd winterp-1.13
- (3) make -f Makefile.NeXT
- (4) ln -s `pwd`/src-server/winterp /usr/local/bin
- (5) ln -s `pwd`/src-client/wl /usr/local/bin
- (6) read doc/RUNNING doc/winterp.doc and examples/*.lsp for further details.
-
- If you try to recompile it, you will get a series of warnings which are due
- to not being able to use -traditional flag (there seems to be a bug in the
- header files using the "untraditional" word 'constant' when compiling with
- "-bsd -traditional". If anyone with more NeXT experience produces a better
- Makefile.NeXT please mail mayer@hplabs.hp.com (Niels Mayer) and
- hardy@golem.ps.uci.edu (Hardy Mayer).
-
- The following compile warnings are produced (most warnings fixed by
- upcoming version 1.14:
- | wl.c:115: warning: argument passing between incompatible pointer types
- | winterp.c:879: warning: argument passing between incompatible pointer types
- | winterp.c:976: warning: argument passing between incompatible pointer types
- | xlcont.c:353: warning: `setffunction' was declared implicitly `extern' and later `static'
- | xlcont.c:516: warning: `keypresent' was declared implicitly `extern' and later `static'
- | xlcont.c:1242: warning: `dobindings' was declared implicitly `extern' and later `static'
- | xlcont.c:1279: warning: `doupdates' was declared implicitly `extern' and later `static'
- | xlcont.c:1318: warning: `tagbody' was declared implicitly `extern' and later `static'
- | xlcont.c:1443: warning: `toofew' was declared implicitly `extern' and later `static'
- | xlcont.c:1450: warning: `toomany' was declared implicitly `extern' and later `static'
- | xldbug.c:144: warning: `breakloop' was declared implicitly `extern' and later `static'
- | xldmem.c:475: warning: `findmem' was declared implicitly `extern' and later `static'
- | xldmem.c:548: warning: `mark' was declared implicitly `extern' and later `static'
- | xldmem.c:652: warning: `sweep' was declared implicitly `extern' and later `static'
- | xldmem.c:730: warning: `addseg' was declared implicitly `extern' and later `static'
- | xleval.c:385: warning: `evpushargs' was declared implicitly `extern' and later `static'
- | xleval.c:831: warning: `doenter' was declared implicitly `extern' and later `static'
- | xleval.c:853: warning: `doexit' was declared implicitly `extern' and later `static'
- | xleval.c:872: warning: `member' was declared implicitly `extern' and later `static'
- | xleval.c:908: warning: `badarglist' was declared implicitly `extern' and later `static'
- | xlinit.c:97: warning: `initwks' was declared implicitly `extern' and later `static'
- | xljump.c:198: warning: `findandjump' was declared implicitly `extern' and later `static'
- | xllist.c:448: warning: `remif' was declared `extern' and later `static'
- | xllist.c:809: warning: `delif' was declared `extern' and later `static'
- | xllist.c:888: warning: `sortlist' was declared `extern' and later `static'
- | xllist.c:915: warning: `splitlist' was declared implicitly `extern' and later `static'
- | xllist.c:938: warning: `gluelists' was declared `extern' and later `static'
- | xlmath.c:220: warning: `checkizero' was declared implicitly `extern' and later `static'
- | xlmath.c:228: warning: `checkfzero' was declared implicitly `extern' and later `static'
- | xlmath.c:454: warning: `badiop' was declared implicitly `extern' and later `static'
- | xlmath.c:460: warning: `badfop' was declared implicitly `extern' and later `static'
- | xlobj.c:465: warning: `getivcnt' was declared implicitly `extern' and later `static'
- | xlobj.c:475: warning: `listlength' was declared implicitly `extern' and later `static'
- | xlpp.c:75: warning: `pp' was declared implicitly `extern' and later `static'
- | xlpp.c:85: warning: `pplist' was declared implicitly `extern' and later `static'
- | xlpp.c:123: warning: `ppexpr' was declared implicitly `extern' and later `static'
- | xlpp.c:131: warning: `ppputc' was declared implicitly `extern' and later `static'
- | xlpp.c:139: warning: `ppterpri' was declared implicitly `extern' and later `static'
- | xlpp.c:147: warning: `flatsize' was declared implicitly `extern' and later `static'
- | xlprin.c:215: warning: `putsymbol' was declared implicitly `extern' and later `static'
- | xlprin.c:262: warning: `putstring' was declared implicitly `extern' and later `static'
- | xlprin.c:274: warning: `putqstring' was declared implicitly `extern' and later `static'
- | xlprin.c:323: warning: `putatm' was declared implicitly `extern' and later `static'
- | xlprin.c:332: warning: `putsubr' was declared implicitly `extern' and later `static'
- | xlprin.c:342: warning: `putclosure' was declared implicitly `extern' and later `static'
- | xlprin.c:369: warning: `putfixnum' was declared implicitly `extern' and later `static'
- | xlprin.c:381: warning: `putflonum' was declared implicitly `extern' and later `static'
- | xlprin.c:393: warning: `putchcode' was declared implicitly `extern' and later `static'
- | xlprin.c:415: warning: `putoct' was declared implicitly `extern' and later `static'
- | xlread.c:441: warning: `pcomment' was declared implicitly `extern' and later `static'
- | xlread.c:630: warning: `pname' was declared implicitly `extern' and later `static'
- | xlread.c:735: warning: `storech' was declared implicitly `extern' and later `static'
- | xlread.c:755: warning: `nextch' was declared implicitly `extern' and later `static'
- | xlread.c:768: warning: `checkeof' was declared implicitly `extern' and later `static'
- | xlread.c:779: warning: `badeof' was declared implicitly `extern' and later `static'
- | xlread.c:865: warning: `upcase' was declared implicitly `extern' and later `static'
- | xlstr.c:225: warning: `getbounds' was declared implicitly `extern' and later `static'
- | xlstr.c:258: warning: `inbag' was declared implicitly `extern' and later `static'
- | xlstruct.c:391: warning: `addslot' was declared implicitly `extern' and later `static'
- | xlstruct.c:455: warning: `updateslot' was declared implicitly `extern' and later `static'
-
- ------------------------------------------------------------------------------
-
- WINTERP is a Widget INTERPreter, an application development environment
- enabling rapid prototyping of graphical user-interfaces (GUI) through the
- interactive programmatic manipulation of user interface objects and their
- attached actions. The interpreter, based on David Betz's XLISP, provides an
- interface to the X11 toolkit Intrinsics (Xtk), the OSF/Motif widget set,
- primitives for collecting data from UN*X processes, and facilities for
- interacting with other UN*X processes. WINTERP thus supports rapid
- prototyping of GUI-based applications by allowing the user to interactively
- change both the UI appearance and application functionality. These features
- make WINTERP a good tool for learning and experimenting with the
- capabilities of the OSF/Motif UI toolkit, allowing UI designers to more
- easily play "what if" games with different interface styles.
-
- WINTERP is also an excellent platform for delivering extensible or
- customizable applications. By embedding a small, efficient language
- interpreter with UI primitives within the delivered application, users and
- system integrators can tailor the static and dynamic layout of the UI,
- UI-to-application dialogue, and application functionality. WINTERP's use of
- a real programming language for customization allows WINTERP-based
- applications to be much more flexible than applications using customization
- schemes provided by the X resource database or OSF/Motif's UIL (user
- interface language).
-
- An environment similar to WINTERP's already exists in the Gnu-Emacs text
- editor -- WINTERP was strongly influenced by Gnu-Emacs' successful design.
- In Gnu-Emacs, a mini-Lisp interpreter is used to extend the editor to
- provide text-browser style interfaces to a number of UN*X applications
- (e.g. e-mail user agents, directory browsers, debuggers, etc). Whereas
- Emacs-Lisp enables the creation of new applications by tying together
- C-implemented primitives operating on text-buffer UI objects, WINTERP-Lisp
- ties together operations on graphical UI objects implemented by the Motif
- widgets. Both achieve a high degree of customizability that is common for
- systems implemented in Lisp, while still attaining the speed of execution
- and (relatively) small size associated with C-implemented applications.
-
- Other features:
- * WINTERP is free software -- available via anonymous ftp from
- export.lcs.mit.edu.
- * Portable -- runs without porting on many Unix systems.
- * Interface to gnuemacs' lisp-mode allows code to be developed
- and tested without leaving the editor;
- * Built-in RPC mechanism for inter-application communications;
- * XLISP provides a simple Smalltalk-like object system.
- * OSF/Motif widgets are real XLISP objects -- widgets can be
- specialized via subclassing, methods added or altered, etc.
- * Automatic storage management of Motif/Xt/X data.
- * Contains facilities for "direct manipulation" of UI components;
-
- You may obtain the latest released version of the WINTERP source,
- documentation, and examples via anonymous ftp from internet host
- export.lcs.mit.edu (18.30.0.238): in directory contrib/winterp you will
- find the compress(1)'d tar(1) file winterp-???.tar.Z. (??? represents the
- version number). Slides, papers and further documentation can be found in
- directory contrib/winterp/papers.
-
- If you do not have Internet access you may request the source code to be
- mailed to you by sending a message to winterp-source%hplnpm@hplabs.hp.com
- or hplabs!hplnpm!winterp-source.
-
- There is also a mailing list for WINTERP-related announcements and
- discussions. To get added to the list, send mail to
- winterp-request%hplnpm@hplabs.hp.com or hplabs!hplnpm!winterp-request.
-
- For discussions about XLISP, see the USENET newsgroup comp.lang.lisp.x.
-
- -------------------------------------------------------------------------------
- Niels Mayer -- hplabs!mayer -- mayer@hplabs.hp.com
- Human-Computer Interaction Department
- Hewlett-Packard Laboratories
- Palo Alto, CA.
- *
- -=-=-=-=-=
- --------------------
-
- (2) Also note the following files that were changed -- the new Text.lsp
- dialogshel.lsp hostlookup.lsp, to replace some hp-specific fonts with
- generally available ones (the backup files were given the extension hp
- before archiving)
-
- | hplstl-20-~> find winterp-1.13-NeXT/ -name '*~*'
- | winterp-1.13-NeXT/examples/Text.lsp.~1~
- | winterp-1.13-NeXT/examples/Text.lsp.~2~
- | winterp-1.13-NeXT/examples/dialogshel.lsp.~1~
- | winterp-1.13-NeXT/examples/hostlookup.lsp.~1~
- | winterp-1.13-NeXT/src-server/winterp.c.~1~
- | hplstl-21-~> diff winterp-1.13-NeXT/examples/Text.lsp.~1~ winterp-1.13-NeXT/examples/Text.lsp
- | 9c9
- | < ; Modified: Sat Oct 5 04:49:31 1991 (Niels Mayer) mayer@hplnpm
- | ---
- | > ; Modified: Thu Nov 21 20:00:36 1991
- | 40c40
- | < :xmn_font_list "hp8.10x20b"
- | ---
- | > ;;; :XMN_FONT_LIST "hp8.10x20b"
- | hplstl-22-~> diff winterp-1.13-NeXT/examples/dialogshel.lsp.~1~ winterp-1.13-NeXT/examples/dialogshel.lsp
- | 9c9
- | < ; Modified: Sat Oct 5 15:23:42 1991 (Niels Mayer) mayer@hplnpm
- | ---
- | > ; Modified: Thu Nov 21 20:05:38 1991
- | 122,141c122,141
- | < (let ()
- | < (send (car (send fsb_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < :set_values :XMN_FONT_LIST "micro")
- | < ;;(send (car (send form_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < ;; :set_values :XMN_FONT_LIST "micro")
- | < (send (car (send mbox_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < :set_values :XMN_FONT_LIST "micro")
- | < (send (car (send md_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < :set_values :XMN_FONT_LIST "micro")
- | < (send (car (send ed_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < :set_values :XMN_FONT_LIST "micro")
- | < (send (car (send id_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < :set_values :XMN_FONT_LIST "micro")
- | < (send (car (send qd_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < :set_values :XMN_FONT_LIST "micro")
- | < (send (car (send wrnd_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < :set_values :XMN_FONT_LIST "micro")
- | < (send (car (send wrkd_w :get_values :XMN_DEFAULT_BUTTON nil))
- | < :set_values :XMN_FONT_LIST "micro")
- | < )
- | ---
- | > ;; (let ()
- | > ;; (send (car (send fsb_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; ;;(send (car (send form_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; (send (car (send mbox_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; (send (car (send md_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; (send (car (send ed_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; (send (car (send id_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; (send (car (send qd_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; (send (car (send wrnd_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; (send (car (send wrkd_w :get_values :XMN_DEFAULT_BUTTON nil))
- | > ;; :set_values :XMN_FONT_LIST "micro")
- | > ;; )
- | hplstl-23-~> diff winterp-1.13-NeXT/examples/hostlookup.lsp.~1~ winterp-1.13-NeXT/examples/hostlookup.lsp
- | hplstl-24-~> diff winterp-1.13-NeXT/examples/hostlookup.lsp.~1~ winterp-1.13-NeXT/examples/hostlookup.lsp
- | 16c16
- | < ; Modified: Sat Oct 5 17:33:50 1991 (Niels Mayer) mayer@hplnpm
- | ---
- | > ; Modified: Thu Nov 21 20:57:15 1991
- | 58c58
- | < (x_refresh_display 300)
- | ---
- | > ;; (x_refresh_display 300)
- | 61,63c61,63
- | < ;; (send dialog-w :update_display)
- | < ;; (system "sleep 1")
- | < ;; (send dialog-w :update_display)
- | ---
- | > (send dialog-w :update_display)
- | > (system "sleep 0")
- | > (send dialog-w :update_display)
- | hplstl-27-~> ls -lt winterp-1.13-NeXT/src-server/winterp.c.~1~
- | -rw-r--r-- 1 mayer users 54558 Oct 4 20:21 winterp-1.13-NeXT/src-server/winterp.c.~1~
- | hplstl-29-~> ll winterp-1.13-NeXT/src-server/*.orig
- | -rw-r--r-- 1 mayer users 54630 Nov 21 22:20 winterp-1.13-NeXT/src-server/winterp.c.orig
- | hplstl-30-~>
-
- -----------------------------
- (3) Here are the diffs of winterp.c for the NeXT and winterp.c.orig.
- ------------------------
-
- hardy{winterp-1.13/src-server}[126> diff winterp.c winterp.c.orig
- 9c9
- < * Modified: Thu Nov 21 22:20:26 1991
- ---
- > * Modified: Fri Oct 4 20:21:05 1991 (Niels Mayer) mayer@hplnpm
- 45,47d44
- < #ifdef __STRICT_BSD__ /* for NeXT... */
- < extern char *getenv();
- < #else
- 49,50d45
- < #endif /* __STRICT_BSD__ */
- <
-